/*
 * Copyright 2011 Subhabrata Ghosh <subho.ghosh at langene.net>.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http,   ////www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */



package net.langene.nlp.model;

/**
 * Enum represents the Stanford Dependencies.
 *
 * For more information on Stanford Dependencies refer to
 * http://nlp.stanford.edu/software/stanford-dependencies.shtml
 *
 * @author Subhabrata Ghosh <subho.ghosh at langene.net>
 */
public enum EnumConnectorType {

    /**
     * abbreviation modifier
     *        An abbreviation modifier of an NP is a parenthesized NP that serves to abbreviate the NP (or
     *        to dene an abbreviation).
     *        "The Australian Broadcasting Corporation (ABC)" abbrev(Corporation, ABC)
     */
    ABBREV,

    /**
     * adjectival complement
     *           An adjectival complement of a verb is an adjectival phrase which functions as the complement
     *           (like an object of the verb).
     *           "She looks very beautiful" acomp(looks, beautiful)
     */
    ACOMP,

    /**
     * adverbial clause modifier
     *           An adverbial clause modifier of a VP or S is a clause modifying the verb (temporal clause,
     *           consequence, conditional clause, etc.).
     *           "The accident happened as the night was falling" advcl(happened, falling)
     *           "If you know who did it, you should tell the teacher" advcl(tell, know)
     */
    ADVCL,

    /**
     *  adverbial modifier
     *            An adverbial modifier of a word is a (non-clausal) adverb or adverbial phrase (ADVP) that
     *            serves to modify the meaning of the word.
     *            "Genetically modied food" advmod(modied, genetically)
     *            "less often" advmod(often, less)
     */
    ADVMOD,

    /**
     *  agent
     *           An agent is the complement of a passive verb which is introduced by the preposition "by" and
     *           does the action.
     *           "The man has been killed by the police" agent(killed, police)
     *           "Eects caused by the protein are important" agent(caused, protein)
     */
    AGENT,

    /**
     * adjectival modifier
     *          An adjectival modifier of an NP is any adjectival phrase that serves to modify the meaning of
     *          the NP.
     *          "Sam eats red meat" amod(meat, red)
     */
    AMOD,

    /**
     *  appositional modifier
     *           An appositional modifier of an NP is an NP immediately to the right of the rst NP that serves
     *           to dene or modify that NP. It includes parenthesized examples.
     *           "Sam, my brother" appos(Sam, brother)
     *           "Bill (John's cousin)" appos(Bill, cousin)
     */
    APPOS,

    /**
     *  attributive
     *          An attributive is a WHNP complement of a copular verb such as "to be", "to seem", "to appear".
     *          "What is that?" attr (is, What)
     */
    ATTR,

    /**
     * auxiliary
     *         An auxiliary of a clause is a non-main verb of the clause, e.g. modal auxiliary, "be" and "have"
     *         in a composed tense.
     *         "Reagan has died" aux(died, has)
     *         "He should leave" aux(leave, should)
     */
    AUX,

    /**
     * passive auxiliary
     *             A passive auxiliary of a clause is a non-main verb of the clause which contains the passive
     *             information.
     *             "Kennedy has been killed" auxpass(killed, been) aux(killed,has)
     *             "Kennedy was/got killed" auxpass(killed, was/got)
     */
    AUXPASS,

    /**
     * coordination
     *        A coordination is the relation between an element of a conjunct and the coordinating conjunction
     *        word of the conjunct. (Note,    // dierent dependency grammars have dierent treatments of
     *        coordination. We take one conjunct of a conjunction (normally the rst) as the head of the
     *        conjunction.)
     *        "Bill is big and honest" cc(big, and)
     *        "They either ski or snowboard" cc(ski, or)
     */
    CC,

    /**
     * clausal complement
     *           A clausal complement of a verb or adjective is a dependent clause with an internal subject
     *           which functions like an object of the verb, or adjective. Clausal complements for nouns are
     *           limited to complement clauses with a subset of nouns like "fact" or "report". We analyze them
     *           the same (parallel to the analysis of this class as "content clauses" in Huddleston and Pullum
     *           2002). Such clausal complements are usually nite (though there are occasional remnant English
     *           subjunctives).
     *           "He says that you like to swim" ccomp(says, like)
     *           "I am certain that he did it" ccomp(certain, did)
     *           "I admire the fact that you are honest" ccomp(fact, honest)
     */
    CCOMP,

    /**
     * complementizer
     *            A complementizer of a clausal complement (ccomp) is the word introducing it. It will be the
     *            subordinating conjunction "that" or "whether".
     *            "He says that you like to swim" complm(like, that)
     */
    COMPLM,

    /**
     * conjunct
     *          A conjunct is the relation between two elements connected by a coordinating conjunction, such
     *          as "and", "or", etc. We treat conjunctions asymmetrically,      // The head of the relation is the rst
     *          conjunct and other conjunctions depend on it via the conj relation.
     *          "Bill is big and honest" conj (big, honest)
     *          "They either ski or snowboard" conj (ski, snowboard)
     */
    CONJ,

    /**
     *  copula
     *         A copula is the relation between the complement of a copular verb and the copular verb. (We
     *         normally take a copula as a dependent of its complement; see the discussion in section 4.)
     *         "Bill is big" cop(big, is)
     *         "Bill is an honest man" cop(man, is)
     */
    COP,

    /**
     *   clausal subject
     *           A clausal subject is a clausal syntactic subject of a clause, i.e., the subject is itself a clause. The
     *           governor of this relation might not always be a verb,   /* when the verb is a copular verb, the root
     *           of the clause is the complement of the copular verb. In the two following examples, "what she
     *           said" is the subject.
     *           "What she said makes sense" csubj (makes, said)
     *           "What she said is not true" csubj (true, said)
     */
    CSUBJ,

    /**
     * clausal passive subject
     *               A clausal passive subject is a clausal syntactic subject of a passive clause. In the example below,
     *               "that she lied" is the subject.
     *               "That she lied was suspected by everyone" csubjpass(suspected, lied)
     */
    CSUBJPASS,

    /**
     *  dependent
     *         A dependency is labeled as dep when the system is unable to determine a more precise dependency
     *         relation between two words. This may be because of a weird grammatical construction,
     *         a limitation in the Stanford Dependency conversion software, a parser error, or because of an
     *         unresolved long distance dependency.
     *         "Then, as if to show that he could, . . . " dep(show, if)
     */
    DEP,

    /**
     * determiner
     *          A determiner is the relation between the head of an NP and its determiner.
     *          "The man is here" det(man, the)
     *          "Which book do you prefer?" det(book, which)
     */
    DET,

    /**
     * direct object
     *          The direct object of a VP is the noun phrase which is the (accusative) object of the verb.
     *          "She gave me a raise" dobj (gave, raise)
     *          "They win the lottery" dobj (win, lottery)
     */
    DOBJ,

    /**
     * expletive
     *          This relation captures an existential "there". The main verb of the clause is the governor.
     *          "There is a ghost in the room" expl(is, There)
     */
    EXPL,

    /**
     *  infinitival modifier
     *            An innitival modifier of an NP is an innitive that serves to modify the meaning of the NP.
     *            "Points to establish are . . . " infmod(points, establish)
     *            "I don't have anything to say" infmod(anything, say)
     */
    INFMOD,

    /**
     *  indirect object
     *          The indirect object of a VP is the noun phrase which is the (dative) object of the verb.
     *          "She gave me a raise" iobj (gave, me)
     */
    IOBJ,

    /**
     * marker
     *          A marker of an adverbial clausal complement (advcl) is the word introducing it. It will be a subordinating
     *          conjunction dierent from "that" or "whether",  /* e.g. "because", "when", "although",
     *          etc.
     *          "Forces engaged in ghting after insurgents attacked" mark(attacked, after)
     */
    MARK,

    /**
     *  multi-word expression
     *         The multi-word expression (modifier) relation is used for certain multi-word idioms that behave
     *         like a single function word. It is used for a closed set of dependencies between words in common
     *         multi-word expressions for which it seems dicult or unclear to assign any other relationships.
     *         At present, this relation is used inside the following expressions, rather than, as well as, instead
     *         of, such as, because of, instead of, in addition to, all but, such as, because of, instead of, due to.
     *         The boundaries of this class are unclear; it could grow or shrink a little over time.
     *         "I like dogs as well as cats" mwe(well, as)
     *         mwe(well, as)
     *         "He cried because of you" mwe(of, because)
     */
    MWE,

    /**
     * negation modifier
     *         The negation modifier is the relation between a negation word and the word it modies.
     *         "Bill is not a scientist" neg(scientist, not)
     *         "Bill doesn't drive" neg(drive, n't)
     */
    NEG,

    /**
     * noun compound modifier
     *         A noun compound modifier of an NP is any noun that serves to modify the head noun. (Note
     *         that in the current system for dependency extraction, all nouns modify the rightmost noun of
     *         the NP { there is no intelligent noun compound analysis. This is likely to be xed once the
     *         Penn Treebank represents the branching structure of NPs.)
     *         "Oil price futures" nn(futures, oil)
     *         nn(futures, price)
     */
    NN,

    /**
     * noun phrase as adverbial modifier
     *              This relation captures various places where something syntactically a noun phrase (NP) is used
     *              as an adverbial modifier in a sentence. These usages include, (i) a measure phrase, which
     *              is the relation between the head of an ADJP/ADVP/PP and the head of a measure phrase
     *              modifying the ADJP/ADVP; (ii) noun phrases giving an extent inside a VP which are not
     *              objects; (iii) nancial constructions involving an adverbial or PP-like NP, notably the following
     *              construction $5 a share, where the second NP means "per share"; (iv) floating reflexives; and
     *              (v) certain other absolutive NP constructions. A temporal modifier (tmod) is a subclass of
     *              npadvmod which is distinguished as a separate relation.
     *              "The director is 65 years old" npadvmod(old, years)
     *              "6 feet long" npadvmod(long, feet)
     *              "Shares eased a fraction" npadvmod(eased, fraction)
     *              "IBM earned $ 5 a share" npadvmod($, share)
     *              "The silence is itself signicant" npadvmod(signicant, itself)
     *              "90% of Australians like him, the most of any country" npadvmod(like, most)
     */
    NPADVMOD,

    /**
     * nominal subject
     *           A nominal subject is a noun phrase which is the syntactic subject of a clause. The governor of
     *           this relation might not always be a verb, when the verb is a copular verb, the root of the clause
     *           is the complement of the copular verb, which can be an adjective or noun.
     *           "Clinton defeated Dole" nsubj (defeated, Clinton)
     *           "The baby is cute" nsubj (cute, baby)
     */
    NSUBJ,

    /**
     *  passive nominal subject
     *               A passive nominal subject is a noun phrase which is the syntactic subject of a passive clause.
     *               "Dole was defeated by Clinton" nsubjpass(defeated, Dole)
     */
    NSUBJPASS,

    /**
     * numeric modifier
     *         A numeric modifier of a noun is any number phrase that serves to modify the meaning of the
     *         noun.
     *         "Sam eats 3 sheep" num(sheep, 3)
     */
    NUM,

    /**
     * element of compound number
     *               An element of compound number is a part of a number phrase or currency amount.
     *               "I lost $ 3.2 billion" number($, billion)
     */
    NUMBER,

    /**
     *  parataxis
     *               The parataxis relation (from Greek for "place side by side") is a relation between the main verb
     *               of a clause and other sentential elements, such as a sentential parenthetical, or a clause after a
     *               ",      /*" or a ";".
     *               "The guy, John said, left early in the morning" parataxis(left, said)
     */
    PARATAXIS,

    /**
     *  participial modifier
     *             A participial modifier of an NP or VP or sentence is a participial verb form that serves to modify
     *             the meaning of a noun phrase or sentence.
     *             "Trues picked during the spring are tasty" partmod(trues, picked)
     *             "Bill tried to shoot demonstrating his incompetence" partmod(shoot, demonstrating)
     */
    PARTMOD,

    /**
     * prepositional complement
     *           This is used when the complement of a preposition is a clause or prepositional phrase (or
     *           occasionally, an adverbial phrase). The prepositional complement of a preposition is the head
     *           of a clause following the preposition, or the preposition head of the following PP.
     *           "We have no information on whether users are at risk" pcomp(on, are)
     *           "They heard about you missing classes" pcomp(about, missing)
     */
    PCOMP,

    /**
     * object of a preposition
     *          The object of a preposition is the head of a noun phrase following the preposition, or the adverbs
     *          "here" and "there". (The preposition in turn may be modifying a noun, verb, etc.) Unlike the
     *          Penn Treebank, we here define cases of VBG quasi-prepositions like "including", "concerning",
     *          etc. as instances of pobj. (The preposition can be called a FW for "pace", "versus", etc. It
     *          can also be called a CC { but we don't currently handle that and would need to distinguish
     *          from conjoined prepositions.) In the case of preposition stranding, the object can precede the
     *          preposition (e.g., "What does CPR stand for?").
     *          "I sat on the chair" pobj (on, chair)
     */
    POBJ,

    /**
     * possession modifier
     *          The possession modifier relation holds between the head of an NP and its possessive determiner,
     *          or a genitive 's complement.
     *          "their oces" poss(oces, their)
     *          "Bill's clothes" poss(clothes, Bill)
     */
    POSS,

    /**
     * possessive modifier
     *                The possessive modifier relation appears between the head of an NP and the genitive 's.
     *                "Bill's clothes" possessive(John, 's)
     */
    POSSESSIVE,

    /**
     * preconjunct
     *             A preconjunct is the relation between the head of an NP and a word that appears at the beginning
     *             bracketing a conjunction (and puts emphasis on it), such as "either", "both", "neither").
     *             "Both the boys and the girls are here" preconj (boys, both)
     */
    PRECONJ,

    /**
     * predeterminer
     *            A predeterminer is the relation between the head of an NP and a word that precedes and modies
     *            the meaning of the NP determiner.
     *            "All the boys are here" predet(boys, all)
     */
    PREDET,

    /**
     *  prepositional modifier
     *          A prepositional modifier of a verb, adjective, or noun is any prepositional phrase that serves to
     *          modify the meaning of the verb, adjective, noun, or even another prepositon. In the collapsed
     *          representation, this is used only for prepositions with NP complements.
     *          "I saw a cat in a hat" prep(cat, in)
     *          "I saw a cat with a telescope" prep(saw, with)
     *          "He is responsible for meals" prep(responsible, for)
     */
    PREP,

    /**
     *  prepositional clausal modifier
     *           In the collapsed representation (see section 4), a prepositional clausal modifier of a verb, adjective,
     *           or noun is a clause introduced by a preposition which serves to modify the meaning of the
     *           VERB, adjective, or noun.
     *           "He purchased it without paying a premium" prepc without(purchased, paying)
     */
    PREPC,

    /**
     * phrasal verb particle
     *         The phrasal verb particle relation identies a phrasal verb, and holds between the verb and its
     *         particle.
     *         "They shut down the station" prt(shut, down)
     */
    PRT,

    /**
     *  punctuation
     *           This is used for any piece of punctuation in a clause, if punctuation is being retained in the
     *           typed dependencies. By default, punctuation is not retained in the output.
     *           "Go home!" punct(Go, !)
     */
    PUNCT,

    /**
     * purpose clause modifier
     *            A purpose clause modifier of a VP is a clause headed by "(in order) to" specifying a purpose. At
     *            present the system only recognizes ones that have "in order to" as otherwise the system is unable
     *            to distinguish from the surface representations between these and open clausal complements
     *            (xcomp). It can also recognize fronted "to" purpose clauses in sentences.
     *            "He talked to him in order to secure the account" purpcl(talked, secure)
     */
    PURPCL,

    /**
     * quantifier phrase modifier
     *              A quantifier modifier is an element modifying the head of a QP constituent. (These are modifiers
     *              in complex numeric quantiers, not other types of "quantication". Quantiers like "all" become
     *              det.)
     *              "About 200 people came to the party" quantmod(200, About)
     */
    QUANTMOD,

    /**
     *  relative clause modifier
     *           A relative clause modifier of an NP is a relative clause modifying the NP. The relation points
     *           from the head noun of the NP to the head of the relative clause, normally a verb.
     *           "I saw the man you love" rcmod(man, love)
     *           "I saw the book which you bought" rcmod(book,bought)
     */
    RCMOD,

    /**
     * referent
     *         A referent of the head of an NP is the relative word introducing the relative clause modifying
     *         the NP.
     *         "I saw the book which you bought" ref (book, which)
     */
    REF,

    /**
     * relative
     *         A relative of a relative clause is the head word of the WH-phrase introducing it.
     *         "I saw the man whose wife you love" rel (love, wife)
     *         This analysis is used only for relative words which are not the subject of the relative clause.
     *         Relative words which act as the subject of a relative clause are analyzed as a nsubj.
     */
    REL,

    /**
     * root
     *          The root grammatical relation points to the root of the sentence. A fake node "ROOT" is used
     *          as the governor. The ROOT node is indexed with "0", since the indexation of real words in the
     *          sentence starts at 1.
     *          "I love French fries." root(ROOT, love)
     *          "Bill is an honest man" root(ROOT, man)
     */
    ROOT,

    /**
     * temporal modifier
     *          A temporal modifier (of a VP, NP, or an ADJP is a bare noun phrase constituent that serves
     *          to modify the meaning of the constituent by specifying a time. (Other temporal modifiers are
     *          prepositional phrases and are introduced as prep.)
     *          "Last night, I swam in the pool" tmod(swam, night)
     */
    TMOD,

    /**
     *  open clausal complement
     *           An open clausal complement (xcomp) of a VP or an ADJP is a clausal complement without
     *           its own subject, whose reference is determined by an external subject. These complements are
     *           always non-nite. The name xcomp is borrowed from Lexical-Functional Grammar.
     *           "He says that you like to swim" xcomp(like, swim)
     *           "I am ready to leave" xcomp(ready, leave)
     */
    XCOMP,

    /**
     *  controlling subject
     *          A controlling subject is the relation between the head of a open clausal complement (xcomp)
     *          and the external subject of that clause.
     *          "Tom likes to eat fish" xsubj (eat, Tom)
     */
    XSUBJ
}


//~ Formatted by Jindent --- http://www.jindent.com
